package com.feemanage.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.common.validate.edit;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.framework.config.BigDecimalSerializer;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 认领从表，存认领对应的每张卡的数据
 */
@Data
@TableName("BIZ_CLAIM_PROJECT_INCOME")
public class BizClaimProjectIncome extends myBaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 自增ID */
    @TableId(value = "id",type = IdType.ASSIGN_UUID)
    @NotNull(message = "id不能为空", groups = {edit.class})
    private String id;

    /** 财务来款ID */
    private String cwIncomeId;

    /** 认领主表id */
    private String cwIncomeClaimId;

    /** 项目ID */
    private String projectId;

    /** 经费卡号 */
    private String feeCardNum;

    /** 认领金额 */
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal incomeFee;

    /**
     * 认领日期
     */
    private LocalDateTime incomeDate;

    /** 外拨金额 */
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal schoolFee;

    /** 外拨金额 */
    @JsonSerialize(using = BigDecimalSerializer.class)
    private BigDecimal outboundFee;

    /** 经费卡负责人人id */
    private String feeChargerId;

    /** 经费卡负责人名称 */
    private String feeChargerName;

    /** 经费卡负责人code */
    private String feeChargerCode;

    /** 经费卡负责人单位id */
    private String unitId;

    /** 经费卡负责人单位id */
    private String feeChargerUnitName;


    /** 审核状态 */
    private String checkstatus;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime checkdate;

    /** 审核人 */
    private String checker;

    /** 来款类型 */
    private String incomeType;


    /** 管理费用方案id */
    private String feeSchemeId;

    /** 来款单位 */
    private String incomeUnitName;

    /** 来款单位 */
    private String dch;

}
